<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>严格模式下运行的好处</title>
</head>
<body>
    
</body>
<script>
    'use strict'
    function User(){
        
    }
    User.prototype.show = function(){
        function test(){
            console.log(this)
        }
        test()
    }
    let u = new User()
    u.show()  // 严格模式下为undefined 非严格模式下为window

    // 为什么严格模式下和普通模式下效果不同呢？   因为js不希望我们去改变它本身  所以在严格模式下直接就给一个underfined

    class hd{
        show(){
            function test(){
                console.log(this)
            }
            test()
        }
    }
    let h = new hd()
    h.show()  // 无论是否在严格模式下  他的结果始终都是underfined   这个可以说是使用class类的一个好处吧  省去了一些复杂的过程
</script>
</html>